#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtGui/QMainWindow>
#include <QDir>
#include <QtDebug>
#include <QtCore>
#include <QSettings>
#include <QItemEditorFactory>
#include <QItemDelegate>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QMessageBox>

#include <MyModel.h>
#include <MyDelegate.h>
#include "SummaryForm.h"
#include "ui_mainwindow.h"

namespace Ui
{
	class MainWindow;
}

class MainWindow : public QMainWindow
{
	Q_OBJECT

public:
	MainWindow(QWidget *parent = 0);
	~MainWindow();

private:
	Ui::MainWindow *ui;
	QSettings conf;
	static QString dbFile() { return QDir::currentPath()+"/database.db"; }
	bool checkDb();
	bool fillDb();
	QSqlDatabase dbh;
	void getAllFromDb();
	MyModel *model;
	QTableView *tracTable;
private slots:
	void insertRow();
	void deleteRow();
	void startTask();
	void viewSummary();
	void setStatusMessage(const QString &message);
	void setStatusMessage(QStringList &message);
protected:
	void closeEvent(QCloseEvent *event);
};

#endif // MAINWINDOW_H
